using CloudStorage.API.Entities;

namespace CloudStorage.Factories
{
	/// <summary>
	/// A factory for creating a Cloud Storage Table Data Context
	/// </summary>
	public interface ITableDataContextFactory
	{
		/// <summary>
		/// Get the <see cref="IEntityTableDataContext"/> for a given entity
		/// </summary>
		/// <typeparam name="TEntity">The entity to get the <see cref="IEntityTableDataContext"/> for</typeparam>
		/// <returns><see cref="IEntityTableDataContext"/></returns>
		IEntityTableDataContext GetDataContext<TEntity>() where TEntity : IEntity;
	}
}